<?php
class Delivery_Model_Tag
	extends Delivery_Model_Abstract
{
	
	public $idTag;
	public $idTagType;
	public $nombre;
	
	const TYPE_CUISINE_ID	= 1;
	const TYPE_TYPE_ID		= 2;
	const TYPE_DISTRICT_ID	= 3;
	const TYPE_FOOD_ID		= 4;
	const TYPE_SERVICES_ID	= 5;
	const TYPE_PAYMENT_ID	= 6;
	
	public function getId()
	{
		return $this->idTag;	
	}
	
	public function __toString()
	{
		return $this->toString();
	}
	
	public function toString()
	{
		return $this->nombre;
	}
	
	public function getTipo()
	{
//		$mapper = self::getMapper('TagsType');
		$dbTable= Delivery_Model_Factory::dbTable('TagsType');
		$typo 	= $dbTable->getById( $this->idTagType);
		return $typo['nombre'];
	}
	
	public function isCuisine()
	{
		return $this->idTagType == self::TYPE_CUISINE_ID;
	}
	
	public function isType()
	{
		return $this->idTagType == self::TYPE_TYPE_ID;
	}
	
	public function isFood()
	{
		return $this->idTagType == self::TYPE_FOOD_ID;
	}
	
	public function isDistrict()
	{
		return $this->idTagType == self::TYPE_DISTRICT_ID;
	}
	
	public function isServices()
	{
		return $this->idTagType == self::TYPE_SERVICES_ID;
	}
	
	public function isPayment()
	{
		return $this->idTagType == self::TYPE_PAYMENT_ID;
	}
	
	
	
	
	/**
	 * @return Zend_Db_Table
	 */
//	public static function getMapper( $mapper = 'Tags' )
//	{
//		return parent::getMapper( $mapper );
//	}
	
	/**
	 * @param $idCocina
	 * @return objeto cocina
	 */
//	public static function getById( $idTag ){		
//		
//		$mapper = self::getMapper();
//		$rowset = $mapper->getById( $idTag );
//		
//		if( empty($rowset) ){
//			throw new Delivery_Model_Exception( Delivery_Model_Exception::TAG_NOT_FOUND );
//		}
//				
//		return new self($rowset);
//	}
	
//	public static function getByName( $nombre ){		
//		
//		$mapper = self::getMapper();
//		$rowset = $mapper->getByName( $nombre );
//		
//		if( empty($rowset) ){
//			throw new Delivery_Model_Exception( Delivery_Model_Exception::TAG_NOT_FOUND );
//		}	
//		
//		return new self($rowset);
//	}
	
//	public static function getAll(){
//	
//		$mapper = self::getMapper();
//			
//		return self::groupConstruct(
//			$mapper->getAll()
//		);
//	}	
	
//	public static function getByNegocio( $idNegocio ){
//		
//		return self::groupConstruct(
//			self::getMapper()->getByNegocio( $idNegocio )
//		) ;
//	}	
	
//	public static function getByType( $idTagType ){
//		
//		return self::groupConstruct(
//			self::getMapper()->getByType( $idTagType )
//		) ;
//	}
	
//	public static function getByTypeAndName( $tagType, $tagName ){
//		
//		$mapper = self::getMapper();
//		$rowset = $mapper->getByTypeAndName( $tagType, $tagName );
//		
//		if( empty($rowset) ){
//			throw new Delivery_Model_Exception( Delivery_Model_Exception::TAG_NOT_FOUND );
//		}
//				
//		return new self($rowset);
//		
//	}
	
//	public static function getLinked()
//	{
//		$rowset = self::getMapper()->getLinked();
//		$all = array();
//		
//		foreach ($rowset as $row){
//			
//			$tag = new self($row);
//			$tipo = $tag->getTipo();
//			
//			isset($all[$tipo]) OR
//				$all[$tipo] = array();
//			
//			
//			$all[$tipo][]=array(
//				'tag'=> $tag,
//				'num'=> $row['cantidad']
//			);
//		}
//		
//		return $all;
//	}
	
	

}